]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
windowManager: Actually respect hasWorkspaces
authorJasper St. Pierre <jstpierre@mecheye.net>
Sun, 16 Jun 2013 04:21:21 +0000 (00:21 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Thu, 18 Jul 2013 22:04:15 +0000 (18:04 -0400)
We've long had the hasWorkspaces property, but it doesn't seem like
it was ever used. Implement it so that we don't have workspaces in
initial-setup mode.

Since it's difficult to make it change at runtime with a decent set
of semantics, and we never expect that to happen, don't bother
implementing it dynamically.

https://bugzilla.gnome.org/show_bug.cgi?id=698593

js/ui/windowManager.js

index 022cd1eb7083c4be40cc1f712d706c4fdf1e0e5b..d6b0b7aebc1dbd6382f573174086b9b109a368fe 100644 (file)
@@ -473,13 +473,17 @@ const WindowManager = new Lang.Class({
                 this._dimWindow(this._dimmedWindows[i]);
         }));
 
-        this._workspaceTracker = new WorkspaceTracker(this);
+        if (Main.sessionMode.hasWorkspaces)
+            this._workspaceTracker = new WorkspaceTracker(this);
 
         global.screen.override_workspace_layout(Meta.ScreenCorner.TOPLEFT,
                                                 false, -1, 1);
     },
 
     keepWorkspaceAlive: function(workspace, duration) {
+        if (!this._workspaceTracker)
+            return;
+
         this._workspaceTracker.keepWorkspaceAlive(workspace, duration);
     },
 
@@ -829,7 +833,7 @@ const WindowManager = new Lang.Class({
     },
 
     _switchWorkspace : function(shellwm, from, to, direction) {
-        if (!this._shouldAnimate()) {
+        if (!Main.sessionMode.hasWorkspaces || !this._shouldAnimate()) {
             shellwm.completed_switch_workspace();
             return;
         }
@@ -982,6 +986,9 @@ const WindowManager = new Lang.Class({
     },
 
     _showWorkspaceSwitcher : function(display, screen, window, binding) {
+        if (!Main.sessionMode.hasWorkspaces)
+            return;
+
         if (screen.n_workspaces == 1)
             return;
 
@@ -1023,14 +1030,19 @@ const WindowManager = new Lang.Class({
     },
 
     actionMoveWorkspace: function(workspace) {
+        if (!Main.sessionMode.hasWorkspaces)
+            return;
+
         let activeWorkspace = global.screen.get_active_workspace();
 
         if (activeWorkspace != workspace)
             workspace.activate(global.get_current_time());
-
     },
 
     actionMoveWindow: function(window, workspace) {
+        if (!Main.sessionMode.hasWorkspaces)
+            return;
+
         let activeWorkspace = global.screen.get_active_workspace();
 
         if (activeWorkspace != workspace) {
@@ -1043,6 +1055,5 @@ const WindowManager = new Lang.Class({
             global.display.clear_mouse_mode();
             workspace.activate_with_focus (window, global.get_current_time());
         }
-
     },
 });